from .models import BookInfo,HeroInfo
from django.contrib import admin

# 自顶你故意块的形式展示
class BookStackedInline(admin.StackedInline):
    # 关联的模型名字
    model = HeroInfo
    # 设置个数
    extra = 1
    pass
# 表的形式
class BookTabularInline(admin.TabularInline):
    # 关联的模型名字
    model = HeroInfo
    # 设置个数
    extra = 1
# 定义管理类需要继承自admin.ModelAdmin类
class BookAdmin(admin.ModelAdmin):
    # 书里面写英雄数据
    # inlines = [BookStackedInline]
    inlines = [BookTabularInline]
    # 列操作
    # 1 显示哪些字段list_display
    list_display = ['id','btitle','bpub_date','bread','my_date']
    # 2 每页显示的个数list_per_page
    list_per_page = 2
    # 3 "操作选项"的位置actions_on_top
    actions_on_top = True
    actions_on_bottom = True
    # 4 右侧栏过滤器list_filter

    # 5 搜索框search_fields
    search_fields = ['btitle']

    # 6 自定义列的名字  方法列

    # 7 关联对象


    # 编辑页面操作二选一
    # 1.显示字段
    # fields = ['btitle','bpud_date']
    # 2.分组显示
    fieldsets = (
        ('必填', {'fields': ['btitle', 'bpub_date', 'image']}),
        ('选填', {'fields': ['bread', 'bcomment'],
                'classes': ('collapse',)  # 是否折叠显示
                }),
    )


    # 3.关联对象  块 和表

    pass

# 注册模型类
# 使用管理类有两种方式：
# 1.注册参数
admin.site.register(BookInfo,BookAdmin)


# 2.装饰器
@admin.register(HeroInfo)
class HeroAdmin(admin.ModelAdmin):
    list_display = ['id','hname','hbook','read']
    list_filter = ['hgender']
    pass


# 设置站点标题
admin.site.site_header = '传智书城'
admin.site.site_title = '传智书城MIS'
admin.site.index_title = '欢迎使用传智书城MIS'
